// FormatPropertyContainer.h: interface for the FormatPropertyContainer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FORMATPROPERTYCONTAINER_H__2011A3BE_A643_487A_A00F_D56A35CFC7B4__INCLUDED_)
#define AFX_FORMATPROPERTYCONTAINER_H__2011A3BE_A643_487A_A00F_D56A35CFC7B4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ManagerTemplate.h"
#include "FormatProperty.h"
typedef ManagerTemplate<StdString,FormatProperty> FormatManagerTemplate;

class __declspec(dllexport) FormatPropertyContainer : public  FormatManagerTemplate
{
public:
	FormatPropertyContainer();
	virtual ~FormatPropertyContainer();

public:
	void AddFormatProperty(FormatProperty* pProperty);

	void DeleteFormatProperty(FormatProperty* pFormat);
	void DeleteFormatProperty(const StdString& strKey);

	void Remove(FormatProperty* pFormat);
	void Remove(const StdString& strKey);	
	void RemoveAll();
	
	FormatPropertyContainer& operator = (const FormatPropertyContainer& container);

};

#endif // !defined(AFX_FORMATPROPERTYCONTAINER_H__2011A3BE_A643_487A_A00F_D56A35CFC7B4__INCLUDED_)
